/**
 * 修改节点外样式
 * @参数 {文本} waiYangshi 外样式(class)
 * @参数 {true|false} pdFuGai 开关；是否覆盖全部（true=覆盖全部；false=表示追加\更新）
 */
NW02_ys.prototype.xgWYS = function (waiYangshi, pdFuGai) {
    if (this.Jiedian.className) { //如果节点已经存在外样式属性
        if (pdFuGai) {
            this.Jiedian.className = waiYangshi;
        } else {
            let _jg = '';
            let SZ2 = waiYangshi.split(/[,; ]{1}/);  // ['my ','     my2','']
            //对每一个节点，进行除空
            for (let j = 0; j < SZ2.length; j++) {
                if (SZ2[j]) {
                    SZ2[j] = this.wgj.gshSXM(SZ2[j]); // ['my','my2']
                }
            }
            let _yuan = this.Jiedian.className;
            for (let j = 0; j < SZ2.length; j++) {
                if (!SZ2[j] || _yuan.indexOf(SZ2[j]) != -1) {//表示已经有。不用再添加。
                    continue;
                }
                _jg += ' ' + SZ2[j];
            }
            if (_jg) {
                this.Jiedian.className = this.Jiedian.className + _jg;
            }

        }
    } else { //到这一步，表示没有样式。可以直接附值。
        this.Jiedian.className = waiYangshi.replace(/[,;]/g, " ");
    }
}

/**
 * 删除指定 class样式；
 * 比如，删除 'my my2' 两个样式（注意，需要空开两个样式）
 * 
 * @参数 {文本} yh_wys class样式
 */
NW02_ys.prototype.scWYS = function (yh_wys) {
    let _wys = this.Jiedian.className;
    if (!yh_wys) {//如果不指定。表示删除所有的外样式。
        if (_wys) { //如果节点已经存在外样式属性
            this.Jiedian.className = null
        }
        return;
    }

    //确保节点有样式值，传入的参数classValue也是真值。
    if (_wys) {

        let _YuanYangshi = _wys.split(' '); //提取节点本身的样式，进行分割。

        //切割用户传入的参数 三种格式： 'my my2'  'my ,my2'   'my; my2'  
        let _YonghuYangshi = yh_wys.split(/[,; ]{1}/);              // ['my ','     my2']
        //对每一个节点，进行除空
        for (let j = 0; j < _YonghuYangshi.length; j++) {
            _YonghuYangshi[j] = this.wgj.gshSXM(_YonghuYangshi[j]); // ['my','my2']
        }

        //开始 逐个检测 源头 样式。如果与用户传入的样式相同，则表示要删除的。
        //通过检测后，源头样式中，非null值的,都是需要保留的样式。（null值的,都是要删除的）
        for (let i = 0; i < _YuanYangshi.length; i++) {//检测 未删除前，原有的样式。
            if (_YuanYangshi[i] == ' ') {//空的，跳过。
                _YuanYangshi[i] = null;
                continue;
            }
            _YuanYangshi[i] = this.wgj.gshSXM(_YuanYangshi[i]); //去除空（如果有）
            //拿到一个源头样式sources[i]后，看看是不是用户要求删除的样式
            for (let j = 0; j < _YonghuYangshi.length; j++) {//要删除的样式： ['my','my2']
                if (_YuanYangshi[i] == _YonghuYangshi[j]) { //如果是用户要求删除的样式，
                    _YuanYangshi[i] = null; //将源头的样式_YuanYangshi[i]，设置值为null
                    break; //跳出当前循环。
                }
            }
        }

        let xgYangshi = '';//需要修改的样式
        //重新连接回样式。跳过null值的
        for (let i = 0; i < _YuanYangshi.length; i++) {
            if (_YuanYangshi[i]) {//真值的，都是要保留的样式（其null值的,都是用户要求删除的样式）
                xgYangshi += " " + _YuanYangshi[i];
            }
        }
        this.xgWYS(xgYangshi, true);
    }
}

/**
 * 检查此节点是否包含样式
 * 
 * @参数 {文本} ming 样式名
 * @返回 true=包含样式;false=不包含样式
 */
NW02_ys.prototype.pdWYS = function (ming) {
    if (ming) {
        ming = this.wgj.gshSXM(ming);
        let _Yangshi = this.Jiedian.className.split(' '); //提取节点本身的样式，进行分割。
        for (let i = 0; i < _Yangshi.length; i++) {
            if (ming == this.wgj.gshSXM(_Yangshi[i])) {
                return true;
            }
        }
    }
    return false;
}